package com.tedu.day02.test;

/**
 * 匿名内部类需要了解抽象类，接口定义和使用
 *  定义：抽象类/接口 引用=new 抽象类/接口(){};
 *  特点:对象只需要创建一次的时候
 *
 *  作业：使用匿名内部类实现下边抽象类
 * */
public class 匿名内部类 {
    public static void main(String[] args) {
        //创建接口 实现类继承 USB 接口 多态【造型】
//        USB usb=new Jack();
//        usb.read();
//        usb.write();

        //创建一次接口对象 匿名内部类--创建接口，抽象类
        USB usb=new USB(){

            public void write() {
                System.out.println("写");
            }

            public void read() {
                System.out.println("写");
            }
        };
        usb.write();
        usb.read();
        PanYao gou=new PanYao(){
            public void run(){
                System.out.println("run");
            }
            public void sleep(){
                System.out.println("sleep");
            }
        };
        gou.run();
        gou.sleep();
    }
}
//创建接口 USB 功能：读，写
//创建抽象类 ：Animal 功能，跑，睡
interface USB{
    public abstract void write();
    public abstract void read();
}
//创捷接口对象，先创建实现类
class Jack implements USB{

    public void write() {
        System.out.println("读");
    }

    public void read() {
        System.out.println("写");
    }
}
//创建抽象类 Animal
abstract class Animal{
    public abstract void run();
    public abstract void sleep();
}
class PanYao extends Animal{
    public void run() {

    }

    public void sleep() {

    }
}